package org.jeecg.modules.demo.com.kunpeng.vo;

import java.io.Serializable;
import java.util.List;
import org.jeecg.modules.demo.com.kunpeng.entity.SaleContractCollectionPlan;
import org.jeecg.modules.demo.com.kunpeng.entity.SaleContractDetail;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @Description: 销售合同表
 * @Author: jeecg-boot
 * @Date:   2022-12-03
 * @Version: V1.0
 */
@Data
@ApiModel(value="sale_contractPage对象", description="销售合同表")
public class SaleContractPage implements Serializable {
	private static final long serialVersionUID = 1L;

	/**主键*/
	@ApiModelProperty(value = "主键")
    private java.lang.String id;
	/**创建人*/
	@ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "创建日期")
    private java.util.Date createTime;
	/**更新人*/
	@ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "更新日期")
    private java.util.Date updateTime;
	/**所属部门*/
	@ApiModelProperty(value = "所属部门")
    private java.lang.String sysOrgCode;
	/**关联客户*/
	@Excel(name = "关联客户", width = 15)
	@ApiModelProperty(value = "关联客户")
    private java.lang.String customerName;
	/**买方签约代表*/
	@Excel(name = "买方签约代表", width = 15)
	@ApiModelProperty(value = "买方签约代表")
    private java.lang.String buyerRepresentative;
	/**卖方签约代表*/
	@Excel(name = "卖方签约代表", width = 15)
	@ApiModelProperty(value = "卖方签约代表")
    private java.lang.String sellerRepresentative;
	/**合同开始时间*/
	@Excel(name = "合同开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "合同开始时间")
    private java.util.Date contractStartTime;
	/**合同结束时间*/
	@Excel(name = "合同结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "合同结束时间")
    private java.util.Date contractEndTime;
	/**合同名称*/
	@Excel(name = "合同名称", width = 15)
	@ApiModelProperty(value = "合同名称")
    private java.lang.String contractName;
	/**合同编号*/
	@Excel(name = "合同编号", width = 15)
	@ApiModelProperty(value = "合同编号")
    private java.lang.String contractId;
	/**合同性质*/
	@Excel(name = "合同性质", width = 15, dicCode = "contract_properties")
    @Dict(dicCode = "contract_properties")
	@ApiModelProperty(value = "合同性质")
    private java.lang.String contractProperties;
	/**项目名称*/
	@Excel(name = "项目名称", width = 15)
	@ApiModelProperty(value = "项目名称")
    private java.lang.String projectName;
	/**买方*/
	@Excel(name = "买方", width = 15)
	@ApiModelProperty(value = "买方")
    private java.lang.String buyer;
	/**卖方*/
	@Excel(name = "卖方", width = 15)
	@ApiModelProperty(value = "卖方")
    private java.lang.String seller;
	/**保管人*/
	@Excel(name = "保管人", width = 15)
	@ApiModelProperty(value = "保管人")
    private java.lang.String managePerson;
	/**签订日期*/
	@Excel(name = "签订日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "签订日期")
    private java.util.Date signTime;
	/**状态*/
	@Excel(name = "状态", width = 15)
	@ApiModelProperty(value = "状态")
    private java.lang.String status;
	/**合同金额*/
	@Excel(name = "合同金额", width = 15)
	@ApiModelProperty(value = "合同金额")
    private java.math.BigDecimal contractAmount;
	/**是否含税*/
	@Excel(name = "是否含税", width = 15)
	@ApiModelProperty(value = "是否含税")
    private java.lang.String istax;
	/**税点*/
	@Excel(name = "税点", width = 15)
	@ApiModelProperty(value = "税点")
    private java.lang.Double taxPoint;
	/**收款人全称*/
	@Excel(name = "收款人全称", width = 15)
	@ApiModelProperty(value = "收款人全称")
    private java.lang.String fullNameOfPayee;
	/**税务登记账号*/
	@Excel(name = "税务登记账号", width = 15)
	@ApiModelProperty(value = "税务登记账号")
    private java.lang.String taxRegistrationAccountNo;
	/**收款人账号*/
	@Excel(name = "收款人账号", width = 15)
	@ApiModelProperty(value = "收款人账号")
    private java.lang.String collectionAccountNo;
	/**收款人开户行*/
	@Excel(name = "收款人开户行", width = 15)
	@ApiModelProperty(value = "收款人开户行")
    private java.lang.String bankOfDeposit;
	/**附件*/
	@Excel(name = "附件", width = 15)
	@ApiModelProperty(value = "附件")
    private java.lang.String enclosure;
	/**合同类别*/
	@Excel(name = "合同类别", width = 15)
	@ApiModelProperty(value = "合同类别")
    private java.lang.String contractType;

	@ExcelCollection(name="销售合同收款计划")
	@ApiModelProperty(value = "销售合同收款计划")
	private List<SaleContractCollectionPlan> saleContractCollectionPlanList;
	@ExcelCollection(name="销售合同详情")
	@ApiModelProperty(value = "销售合同详情")
	private List<SaleContractDetail> saleContractDetailList;

	/*private List<SaleContractCollectionPlan> dataAdd;*/
	/*@ExcelCollection(name="销售合同明细")
	@ApiModelProperty(value = "销售合同明细")
	private List detailsContractList1;*/

	/*@Excel(name = "批次", width = 15)
	@ApiModelProperty(value = "批次")
	private String batch;
	@Excel(name = "收款约定时间", width = 15)
	@ApiModelProperty(value = "收款约定时间")
	private Date agreedCollectionTime;
	@Excel(name = "收款比例", width = 15)
	@ApiModelProperty(value = "收款比例")
	private Double collectionProportion;
	@Excel(name = "收款金额", width = 15)
	@ApiModelProperty(value = "收款金额")
	private BigDecimal amountCollected;*/


	/*@Excel(name = "销售合同表id", width = 15)
	@ApiModelProperty(value = "销售合同表id")
	private String scId;
	@Excel(name = "项目表id", width = 15)
	@ApiModelProperty(value = "项目表id")
	private String pjId;
	@Excel(name = "价税合计", width = 15)
	@ApiModelProperty(value = "价税合计")
	private BigDecimal totalAmount;
	@Excel(name = "税率", width = 15)
	@ApiModelProperty(value = "税率")
	private Double taxRate;
	@Excel(name = "税额", width = 15)
	@ApiModelProperty(value = "税额")
	private BigDecimal taxAmount;
	@Excel(name = "折扣率", width = 15)
	@ApiModelProperty(value = "折扣率")
	private Double discountRate;
	@Excel(name = "要货日期", width = 15)
	@ApiModelProperty(value = "要货日期")
	private Date purchaseDate;
	@Excel(name = "备注", width = 15)
	@ApiModelProperty(value = "备注")
	private String remark;
	@Excel(name = "回款金额", width = 15)
	@ApiModelProperty(value = "回款金额")
	private BigDecimal returnAmount;
	@Excel(name = "未回款金额", width = 15)
	@ApiModelProperty(value = "未回款金额")
	private BigDecimal noReturnAmount;
	@Excel(name = "不含税金额", width = 15)
	@ApiModelProperty(value = "不含税金额")
	private BigDecimal noTaxAmount;*/


	@Excel(name = "联系人", width = 15)
	@ApiModelProperty(value = "联系人")
	private String customerContacts;
	@Excel(name = "联系电话", width = 15)
	@ApiModelProperty(value = "联系电话")
	private String customerTelephone;
	@Excel(name = "地址", width = 15)
	@ApiModelProperty(value = "地址")
	private String customerAddress;

}
